package org.power.bus.service;

import com.github.pagehelper.PageInfo;
import org.power.bus.entity.TrainParam;
import org.power.bus.model.Current;
import org.power.bus.model.Equipment;
import org.power.bus.model.Feature;
import org.power.bus.model.Temperature;
import org.power.core.common.PageParamRequest;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author 苗冬冬
 */
public interface PowerService {
    List getOneFromTemperature(String deviceNum, String deviceName, String date);
    List getDeviceNumbers();
    List getDeviceNames();
    List getAvailableModel();
    PageInfo<Equipment> listEquipment(PageParamRequest pageParamRequest);
    boolean addEquipment(String equipment);

    boolean uploadTemperatureExcel(MultipartFile multipartFile, String date) throws Exception;
    boolean uploadCurrentExcel(MultipartFile multipartFile, String date) throws Exception;
    boolean mergeFeature();
    boolean trainModel(TrainParam trainParam);
    List predictModel(String usingModel);

    /*-----------------V2-------------------*/
    Map<String, Integer> getCount();

    // 上传温度数据
    // 上传电流数据
    List<Temperature> previewEnvironmentTable();
    List<Current> previewCurrentTable();

    // 模型训练
    // 模型预测

    // 四个表格 getOneFromTemperature

    // 当日数据流入 / 皮尔逊系数
    List<Feature> getTodayTemperature();
    Map<String, String> getPearsonParam();

    // top排名
    Map<String, Object> getTemperatureTop();

    // 折线图 当前电流 预测电流
    List getCurrentCompare();
}
